﻿using System.Linq;
using Sidvall.Collections;

namespace Sidvall.FileSystemManager.UI.Entities
{
	public sealed partial class RenameConfigCollection : Sidvall.FileSystemManager.UI.Entities.Core.BusinessBaseCollection<RenameConfig>
	{
		#region Public Members
		
		#region AcceptChanges

		public void AcceptChanges()
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.AcceptChanges(this);
		}

		#endregion
		#region Copy

		public RenameConfigCollection Copy()
		{
			return Copy(null);
		}
		partial void OnAfterCopy(RenameConfigCollection destination, RenameConfigCollection source, Sidvall.Data.CopySettings settings);
		public RenameConfigCollection Copy(Sidvall.Data.CopySettings settings)
		{
			RenameConfigCollection item;

			item = global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.Copy(this, settings);
			OnAfterCopy(item, this, settings);

			return item;
		}

		#endregion
		#region Import

		public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.FileSystemManager.Data.IRenameConfig> items)
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.Import(this, items);
		}
		public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.FileSystemManager.Data.IRenameConfig> items, Sidvall.Data.CopySettings settings)
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.Import(this, items, settings);
		}

		#endregion
		#region ValidateAsync

		public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync()
		{
			return await global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.ValidateAsync(this).ConfigureAwait(false);
		}
		public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync(Sidvall.Data.ValidationSettings settings)
		{
			return await global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.ValidateAsync(this, settings).ConfigureAwait(false);
		}

		#endregion
		#region Initialize

		public void Initialize()
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.Initialize(this);
		}
		public void Initialize(Sidvall.Data.InitializeSettings settings)
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.RenameConfigManager.Initialize(this, settings);
		}

		#endregion

		#endregion
		#region Constructors

		public RenameConfigCollection()
		{
		}

		#endregion
	}
}